package com.developer.web.content.publicpage.indicadores;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.session.RowBounds;

import com.developer.core.page.PublicPage;
import com.developer.core.utils.ObjectToXML;
import com.developer.mybatis.utils.hvh.DataBaseUtils;
import com.developer.persistence.modulo.indicadores.ControllerIndicadores;
import com.developer.persistence.modulo.indicadores.mapper.dto.Indicador;

public class PageIndicadores extends PublicPage {

	@Override
	public String getNextPage() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public StringBuffer executeAction(HttpServletRequest request) {

		StringBuffer xmlPage = new StringBuffer();

		ObjectToXML objectToXML = ObjectToXML.getInstance();
		
		Map<String, Object> parameters = getParameters(request, true);

		Indicador indicador = (Indicador) getParameterToObject("Indicador",
				Indicador.class, null, parameters);
		
		Integer pagina = 0;
		if (parameters.containsKey("pagina") && StringUtils.isNotEmpty(parameters.get("pagina").toString())) {
			pagina = new Integer(parameters.get("pagina").toString());
		}
		
		
		RowBounds rowBounds = DataBaseUtils.getRowBounds(pagina);
		
		ControllerIndicadores instance = ControllerIndicadores.getInstance();
		List<Indicador> indicadores = instance.buscarIndicadores(indicador, rowBounds);
		Integer total = instance.contarIndicadores(indicador);
		xmlPage.append(objectToXML.getXML(indicadores));
		xmlPage.append("<total>" + total +"</total>");
		xmlPage.append("<pagina>" + pagina +"</pagina>");
		
		if (indicador != null) {
			xmlPage.append("<buscar>" + objectToXML.getXML(indicador) + "</buscar>");
		}

		return xmlPage;

	}

	@Override
	public boolean isAccesoValido(HttpServletRequest arg0) {
		return true;

	}

}
